import { ISysGroup } from '/@/views/fileattachment/api/interface';
import { ISysOrg } from '/@/views/fileattachment/api/interface';

export interface ISysPurchaseRequestBill {
	ID?: string | null;
	Applicant: string | null;
	RequestDate: Date | null;
	NeedDate: Date | null;
	PurchaseType?: '常规' | '设备新增' | '安全新增' | '其他' | null;
	MaterialType?: '备品备件' | '化工小料' | '大宗原材料' | null;
	PurchaseMethod?: '集采' | '招标' | null;
	UrgencyLevel?: '一般' | '紧急' | null;
	UrgencyReason: string | null;
	Amount: string | null;
	Files: string | null;
	Approver: string | null;
	ApprovalTime: Date | null;
	GroupId: null;
	Group?: ISysGroup;
	OrgId: null;
	Org?: ISysOrg;
	BillCode: string | null;
	BillStatus?: '草稿' | '正文' | null;
	WorkflowStatus?: '待提交' | '提交中' | '审核中' | '已完成' | '已取消' | '待处理' | '处理中' | '已处理' | null;
	Remark: string | null;
}

export interface ISysPurchaseRequestBillVm {
	Entity: ISysPurchaseRequestBill;
	ActionName?: string | null;
	IsMyApprove?: boolean | null;

	SelectedFilesIds: string[];
	Remark: string | null;
}

export interface ISysPurchaseRequestBillView extends ISysPurchaseRequestBill {

	FilesNames: string[];
}

export interface ISysPurchaseRequestBillQuery {
	Applicant?: string | null;
	RequestDate?: Date | null;
	NeedDate?: Date | null;
	PurchaseType?: number | null;
	MaterialType?: number | null;
	PurchaseMethod?: number | null;
	UrgencyLevel?: number | null;
	Approver?: string | null;
	ApprovalTime?: Date | null;
	GroupId?: string | null;
	OrgId?: string | null;
	BillCode?: string | null;
	BillStatus?: number | null;
	WorkflowStatus?: number | null;
	Remark?: string | null;
}